今天來開始介紹 Macro 吧。
Swift 的 Macro 中有一些特點,大概有這幾種:
1. Macro 都會用 # 或 @ 去標示出來,例如:@Model、#Preview
2. Macro 能檢查類型,用來限定 Macro 的使用,也能明確 Macro 接受的參數類型
3. 開發者可以自定義 Macro
4. 可以預覽 Macro
上面提到的這些東西在介紹前幾天 SwiftData 的時候有體會到,例如:@Model 以及 @Query 等。
Swift 也提供開發者自定義 Macro,點擊 File 在點擊 New,選擇 Package,就能看到 Swift Macro 的選項,這樣就能開始開發 Macro 了。
而 Macro 主要分成兩種,Freestanding 跟 Attached,獨立的跟綁定的,Freestanding 大致能分成:
1. Expression(表達式)
2. Declaration(聲明)
Attached 也根據綁定的對象大概分成下面這幾種:
1. peer(對等)
2. accessor(訪問器)
3. member(成員)
4. memberAttribute(成員屬性)
5. conformance(一致性)
那關於 Macro 就簡單介紹到這裡,畢竟關於這部分還有很多不了解的地方。